home *** CD-ROM | disk | FTP | other *** search
/ Aminet 16 / Aminet 16 (1996)(GTI - Schatztruhe)[!][Dec 1996].iso / Aminet / comm / term / term_source.lha / Extras / Source / term-source.lha / Data.h < prev    next >
C/C++ Source or Header  |  1996-10-20  |  19KB  |  785 lines

  1. /*
  2. **    Data.h
  3. **
  4. **    Global symbol definitions
  5. **
  6. **    Copyright © 1990-1996 by Olaf `Olsen' Barthel
  7. **        All Rights Reserved
  8. */
  9.  
  10. #ifndef _DATA_H
  11. #define _DATA_H 1
  12.  
  13.     /* In VersionTag.a */
  14.  
  15. extern LONG             TermVersion;
  16. extern LONG             TermRevision;
  17. extern UBYTE             TermName[];
  18. extern UBYTE             TermDate[];
  19. extern UBYTE FAR         VersTag[];
  20.  
  21. /**********************************************************************/
  22.  
  23.  
  24. extern BOOL             DebugFlag;
  25.  
  26.     /* Libraries. */
  27.  
  28. extern struct ExecBase        *SysBase;
  29. extern struct DosLibrary    *DOSBase;
  30. extern struct Library        *GTLayoutBase;
  31.  
  32. extern struct IntuitionBase    *IntuitionBase;
  33. extern struct GfxBase        *GfxBase;
  34. extern struct RxsLib        *RexxSysBase;
  35. extern struct LocaleBase    *LocaleBase;
  36. extern struct Library        *GadToolsBase,
  37.                 *DiskfontBase,
  38.                 *UtilityBase,
  39.                 *AslBase,
  40.                 *IFFParseBase,
  41.                 *CxBase,
  42.                 *IconBase,
  43.                 *LayersBase,
  44.                 *TranslatorBase,
  45.                 *WorkbenchBase,
  46.                 *AmigaGuideBase,
  47.                 *XEmulatorBase,
  48.                 *XProtocolBase,
  49.                 *DataTypesBase,
  50.                 *OwnDevUnitBase;
  51. extern struct Device        *TimerBase,
  52.                 *ConsoleDevice;
  53. extern BOOL             Kick30;
  54.  
  55.     /* Timer device. */
  56.  
  57. extern struct timerequest    *TimeRequest;
  58. extern struct MsgPort        *TimePort;
  59.  
  60.     /* Console device. */
  61.  
  62. extern struct IOStdReq        *ConsoleRequest;
  63. extern struct KeyMap        *KeyMap;
  64. extern BPTR             KeySegment;
  65.  
  66.     /* Screen & Windows. */
  67.  
  68. extern struct Screen        *Screen,
  69.                 *SharedScreen;
  70. extern struct Window        *Window;
  71. extern ULONG             OpenWindowTag;
  72. extern LONG             WindowWidth,
  73.                  WindowHeight,
  74.                  WindowLeft,
  75.                  WindowTop;
  76. extern struct Window        *StatusWindow;
  77. extern UWORD             StatusOffset;
  78. extern struct RastPort         StatusRastPort,
  79.                 *StatusRPort;
  80. extern UWORD             StatusDisplayLeft,
  81.                   StatusDisplayTop,
  82.                   StatusDisplayWidth,
  83.                   StatusDisplayHeight;
  84. extern APTR             OldWindowPtr;
  85. extern UBYTE             ScreenTitle[80];
  86. extern UBYTE             WindowTitle[80];
  87. extern UBYTE             DepthMask;
  88. extern LONG             RenderPens[4],
  89.                  MappedPens[2][32],
  90.                  SafeTextPen;
  91. extern struct DrawInfo        *DrawInfo;
  92. extern UWORD            *Pens;
  93. extern LONG             ScreenWidth,
  94.                  ScreenHeight;
  95. extern BOOL             UseMasking;
  96.  
  97. extern struct BlockMarker    *WindowMarker;
  98. extern BOOL             Marking;
  99.  
  100.     /* Graphics rendering. */
  101.  
  102. extern struct ViewPort        *VPort;
  103. extern struct RastPort        *RPort;
  104. extern struct Region        *ClipRegion,
  105.                 *OldRegion;
  106. extern struct TextFont        *GFX,
  107.                 *CurrentFont,
  108.                 *UserTextFont;
  109. extern WORD             UserFontHeight,
  110.                  UserFontWidth,
  111.                  UserFontBase;
  112. extern UBYTE             UserFontName[MAX_FILENAME_LENGTH];
  113. extern struct TextFont        *TextFont;
  114. extern WORD             TextFontHeight,
  115.                  TextFontWidth,
  116.                  TextFontBase;
  117. extern struct TTextAttr         TextAttr;
  118. extern UBYTE             TextFontName[MAX_FILENAME_LENGTH];
  119. extern struct TTextAttr         UserFont;
  120. extern struct TagItem         TagDPI[2];
  121. extern APTR             VisualInfo;
  122. extern UWORD             FontRightExtend;
  123.  
  124. extern ULONG            (* ReadAPen)(struct RastPort *RPort);
  125. extern ULONG            (* ReadBPen)(struct RastPort *RPort);
  126. extern ULONG            (* ReadDrMd)(struct RastPort *RPort);
  127. extern ULONG            (* SetMask)(struct RastPort *RPort,ULONG Mask);
  128. extern ULONG            (* GetMask)(struct RastPort *RPort);
  129.  
  130. extern UWORD             MonoPens[];
  131. extern UWORD             StandardPens[];
  132. extern UWORD             ANSIPens[];
  133. extern UWORD             EGAPens[];
  134. extern UWORD             NewEGAPens[];
  135. extern UWORD             AtomicColours[16];
  136. extern UWORD             EGAColours[16];
  137. extern UWORD             ANSIColours[16];
  138.  
  139. extern UWORD             DefaultColours[32],
  140.                  BlinkColours[32],
  141.                  NormalColours[32],
  142.                  StandardColours[32],
  143.                  PaletteSize;
  144.  
  145.     /* Line/Column offset tables. */
  146.  
  147. extern LONG            *OffsetXTable,
  148.                 *OffsetYTable;
  149.  
  150.     /* DOS data. */
  151.  
  152. extern struct Process        *ThisProcess;
  153. extern struct Process        *StatusProcess;
  154. extern struct Process        *RexxProcess;
  155. extern struct MsgPort        *TermRexxPort;
  156. extern struct WBStartup        *WBenchMsg;
  157. extern BPTR             WBenchLock;
  158. extern struct TermPort        *TermPort;
  159. extern BYTE             CheckBit,
  160.                  OwnDevBit;
  161. extern BOOL             InRexx;
  162. extern struct timeval         LimitTime;
  163. extern UBYTE             LimitMacro[MAX_FILENAME_LENGTH];
  164.  
  165.     /* Character conversion. */
  166.  
  167. extern struct InputEvent    *FakeInputEvent;
  168.  
  169.     /* Serial I/O. */
  170.  
  171. extern struct IOExtSer        *ReadRequest;
  172. extern struct IOExtSer        *WriteRequest;
  173. extern struct MsgPort        *ReadPort;
  174. extern struct MsgPort        *WritePort;
  175. extern UBYTE             ReadChar;
  176. extern UBYTE            *ReadBuffer,
  177.                 *HostReadBuffer;
  178. extern ULONG             DTERate,
  179.                  SerialBufferSize;
  180. extern BOOL             ProcessIO;
  181. extern BOOL             FirstInvocation;
  182.  
  183. extern UBYTE             NewDevice[MAX_FILENAME_LENGTH];
  184. extern LONG             NewUnit;
  185. extern BOOL             UseNewDevice,
  186.                  UseNewUnit;
  187.  
  188. extern LONG             BaudRates[];
  189. extern WORD             NumBaudRates;
  190.  
  191. extern struct RendezvousSemaphore    RendezvousSemaphore;
  192.  
  193.     /* Localization support. */
  194.  
  195. extern struct Catalog        *Catalog;
  196. extern struct Locale        *Locale;
  197. extern STRPTR             DecimalPoint;
  198. extern struct CatCompArrayType    *AppStrings;
  199. extern WORD             NumAppStrings;
  200. extern UBYTE             ConvNumber[30],
  201.                  ConvNumber10[30];
  202.  
  203.     /* Hotkeys. */
  204.  
  205. extern struct Hotkeys         Hotkeys;
  206.  
  207.     /* Static default fonts. */
  208.  
  209. extern struct TextAttr DefaultFont;
  210. extern struct TextAttr GFXFont;
  211.  
  212.     /* Character lookup tables. */
  213.  
  214. extern BYTE IsPrintable[256];
  215. extern BYTE IsGlyph[256];
  216. extern BYTE CharType[256];
  217.  
  218.     /* ISO -> IBM font conversion. */
  219.  
  220. extern UBYTE IBMConversion[256];
  221.  
  222.     /* IBM -> ISO font conversion. */
  223.  
  224. extern UBYTE ISOConversion[256];
  225.  
  226.     /* Table of graphics characters. */
  227.  
  228. extern BYTE GfxTable[256];
  229.  
  230.     /* Special character treatment. */
  231.  
  232. extern struct SpecialKey     SpecialKeys[14];
  233. extern JUMP            *SpecialTable;
  234.  
  235. extern BYTE             AbortMap[256];
  236. extern JUMP            *AbortTable;
  237.  
  238. extern CONTRANSFER         ConDump,
  239.                  ConOutput,
  240.                  ConProcessData;
  241.  
  242.     /* Some more handy buffers. */
  243.  
  244. extern UBYTE ARexxCommandBuffer[256],AmigaDOSCommandBuffer[256],DialNumberBuffer[256];
  245.  
  246.     /* Screen pull-down-menu. */
  247.  
  248. extern struct NewMenu        *TermMenu;
  249. extern WORD             NumMenuEntries;
  250.  
  251. extern struct SignalSemaphore     MenuSemaphore;
  252. extern struct Menu        *Menu;
  253. extern struct Image        *AmigaGlyph,*CheckGlyph;
  254.  
  255.     /* Cross-hatch pattern. */
  256.  
  257. extern ULONG Crosshatch;
  258.  
  259.     /* Configuration. */
  260.  
  261. extern struct Configuration    *Config,
  262.                 *PrivateConfig,
  263.                 *BackupConfig;
  264. extern struct SpeechConfig     SpeechConfig;
  265. extern BOOL             English;
  266. extern BOOL             Online,WasOnline;
  267. extern ULONG             OnlineMinutes;
  268. extern struct SignalSemaphore     OnlineSemaphore;
  269.  
  270. extern UBYTE             LastConfig[MAX_FILENAME_LENGTH];
  271. extern UBYTE             DefaultPubScreenName[MAXPUBSCREENNAME + 1],
  272.                  SomePubScreenName[MAXPUBSCREENNAME + 1];
  273.  
  274. extern WORD             StatusStackPointer;
  275. extern WORD             StatusStack[10];
  276. extern struct SignalSemaphore     StatusSemaphore;
  277.  
  278.     /* xON/xOFF processing. */
  279.  
  280. extern struct SignalSemaphore     xONxOFF_Semaphore;
  281. extern LONG             xONxOFF_Lock;
  282. extern BOOL             xOFF_Enabled;
  283.  
  284.     /* Capture file. */
  285.  
  286. extern struct Buffer        *FileCapture;
  287. extern BPTR             PrinterCapture;
  288. extern UBYTE             CaptureName[MAX_FILENAME_LENGTH];
  289. extern BOOL             StandardPrinterCapture,
  290.                  ControllerActive;
  291. extern LONG             BufferFlushCount;
  292. extern COPTR             CaptureData;
  293. extern BOOL             RawCapture;
  294. extern ParseContext        *ParserStuff;
  295.  
  296.     /* Buffer. */
  297.  
  298. extern UBYTE            **BufferLines;
  299. extern LONG             Lines;
  300. extern struct SignalSemaphore     BufferSemaphore;
  301. extern LONG             MaxLines;
  302. extern LONG             BufferSpace;
  303. extern BOOL             BufferClosed;
  304. extern BOOL             BufferFrozen;
  305.  
  306. extern struct MinList         TextBufferHistory;
  307.  
  308.     /* Sound support.c */
  309.  
  310. extern struct SoundConfig     SoundConfig;
  311. extern BOOL             SoundChanged;
  312.  
  313.     /* Phonebook. */
  314. /*
  315. extern struct PhoneEntry    **Phonebook;
  316. extern LONG             PhoneSize;
  317. extern LONG             NumPhoneEntries;
  318. extern struct MinList         PhoneGroupList;
  319. extern ULONG             PhonebookID;
  320. extern ULONG             PhonebookDefaultGroup;
  321. extern UBYTE             PhonePassword[256];
  322. extern BOOL             PhonePasswordUsed,
  323.                  PhonebookAutoDial,
  324.                  PhonebookAutoExit,
  325.                  RebuildMenu;
  326. */
  327. extern PhonebookHandle        *GlobalPhoneHandle;
  328. extern BOOL             RebuildMenu;
  329. extern UBYTE             Password[100];
  330. extern UBYTE             UserName[100];
  331.  
  332. extern UBYTE             CurrentBBSName[40],
  333.                  CurrentBBSNumber[100],
  334.                  CurrentBBSComment[100];
  335.  
  336. extern UBYTE             LastPhone[MAX_FILENAME_LENGTH];
  337. extern UBYTE             LastKeys[MAX_FILENAME_LENGTH];
  338. extern UBYTE             LastMacros[MAX_FILENAME_LENGTH];
  339. extern UBYTE             LastCursorKeys[MAX_FILENAME_LENGTH];
  340. extern UBYTE             LastTranslation[MAX_FILENAME_LENGTH];
  341. extern UBYTE             LastSpeech[MAX_FILENAME_LENGTH];
  342. extern UBYTE             LastSound[MAX_FILENAME_LENGTH];
  343.  
  344. extern struct MacroKeys        *MacroKeys;
  345. extern struct CursorKeys    *CursorKeys;
  346.  
  347.     /* Console stuff. */
  348.  
  349. extern UBYTE            *StripBuffer;
  350. extern UWORD             LastLine,LastColumn,LastPixel;
  351. extern UWORD             LastPrintableColumn;
  352. extern UWORD             LastPrintablePixel;
  353. extern UWORD             CharCellNominator,CharCellDenominator;
  354. extern UBYTE             CurrentFontScale,FontScalingRequired,CurrentCharWidth;
  355. extern UBYTE             Charset,Attributes,FgPen,BgPen;
  356. extern WORD             CursorX,CursorY,Top,Bottom;
  357. extern BOOL             UseRegion,RegionSet,InSequence,ConsoleQuiet,Blocking;
  358. extern BYTE            *TabStops;
  359. extern UWORD             TabStopMax;
  360. extern BYTE             CharMode[2];
  361.  
  362. extern BOOL             VT52_Mode;
  363.  
  364. extern BOOL             ResetDisplay,
  365.                  FixScreenSize;
  366.  
  367. extern struct SignalSemaphore     TerminalSemaphore;    /* Protection from shape changers */
  368.  
  369.     /* Flow filter. */
  370.  
  371. extern STRPTR             AttentionBuffers[SCAN_COUNT];
  372. extern BOOL             BaudPending,UseFlow;
  373. extern UBYTE             BaudBuffer[80],BaudCount;
  374.  
  375. extern struct FlowInfo         FlowInfo;
  376.  
  377. extern STRPTR             DataHold;
  378. extern LONG             DataSize;
  379.  
  380.     /* Transfer data. */
  381.  
  382. extern BOOL             BinaryTransfer;
  383. extern LONG             TransferAbortState;
  384. extern WORD             TransferAbortCount;
  385. extern LONG             TransferBits;
  386.  
  387. extern CONTRANSFER         ConTransfer;
  388.  
  389. extern UBYTE            *DownloadPath;
  390. extern BOOL             Uploading;
  391. extern BOOL             DidTransfer;
  392.  
  393. extern struct Window        *TransferWindow;
  394. extern UBYTE             TransferTitleBuffer[256];
  395. extern BOOL             TransferZoomed;
  396. extern STRPTR             TransferWindowTitle;
  397.  
  398. extern struct LayoutHandle    *TransferHandle;
  399. extern struct List         TransferInfoList;
  400.  
  401. extern struct FileTransferInfo    *FileTransferInfo;
  402.  
  403. extern struct XPR_IO        *XprIO;
  404. extern struct MinList         Update_MsgList;
  405. extern WORD             Update_MsgCount;
  406. extern UBYTE             ProtocolOptsBuffer[256];
  407. extern BOOL             NewOptions;
  408. extern BOOL             XPRCommandSelected;
  409. extern UBYTE             LastXprLibrary[MAX_FILENAME_LENGTH];
  410. extern UBYTE             TransferProtocolName[MAX_FILENAME_LENGTH];
  411. extern BOOL             UsesZModem,SendAbort,TransferAborted,TransferFailed,TransferError;
  412.  
  413. extern struct Process        *TransferProcess;
  414.  
  415.     /* The standard ZModem cancel sequence
  416.      * (ten CAN chars followed by ten
  417.      * BS chars).
  418.      */
  419.  
  420. extern UBYTE             ZModemCancel[];
  421.  
  422.     /* Pay per minute. */
  423.  
  424. extern LONG             PayPerUnit[2];
  425. extern LONG             SecPerUnit[2];
  426. extern struct List        *PatternList,
  427.                 *ActivePattern;
  428. extern UBYTE             LastPattern[MAX_FILENAME_LENGTH];
  429. extern BOOL             PatternsChanged;
  430. extern struct SignalSemaphore     PatternSemaphore;
  431.  
  432.     /* Execute a command/script. */
  433.  
  434. extern ULONG             BlockNestCount;
  435. extern BOOL             WeAreBlocking;
  436.  
  437.     /* Dial list. */
  438.  
  439. extern BOOL             SendStartup;
  440. extern LONG             FirstDialMenu;
  441. extern struct List         RexxDialMsgList;
  442. extern BOOL             DialItemsAvailable;
  443.  
  444.     /* TermMain data. */
  445.  
  446. extern BOOL             ReleaseSerial;
  447. extern BOOL             MainTerminated,
  448.                   IconTerminated,
  449.                  DoIconify,
  450.                  DoDial,
  451.                  KeepQuiet;
  452.  
  453. extern BOOL             ConfigChanged,PhonebookChanged,TranslationChanged,
  454.                  MacroChanged,CursorKeysChanged,FastMacrosChanged,
  455.                  HotkeysChanged,SpeechChanged,BufferChanged;
  456.  
  457.     /* String gadget hooks. */
  458.  
  459. extern struct Window        *CommandWindow;
  460. extern struct Gadget        *CommandGadget;
  461.  
  462. extern BOOL             ClipInput,
  463.                  ClipXerox,
  464.                  ClipPrefix;
  465.  
  466.     /* Text sending. */
  467.  
  468. extern UBYTE             SendPrompt[256];
  469. extern LONG             SendPromptLen;
  470. extern SENDLINE             SendLine;
  471.  
  472.     /* Packet window. */
  473.  
  474. extern struct Window        *PacketWindow;
  475. extern struct Gadget        *PacketGadgetArray[2];
  476. extern struct Menu        *PacketMenu;
  477. extern struct Gadget        *PacketGadgetList;
  478. extern struct List         PacketHistoryList;
  479.  
  480.     /* Some more colour control flags. */
  481.  
  482. extern BOOL             Initializing,LoadColours;
  483.  
  484.     /* The character raster. */
  485.  
  486. extern UBYTE            *Raster,*RasterAttr;
  487. extern LONG             RasterWidth,RasterHeight;
  488. extern struct SignalSemaphore     RasterSemaphore;
  489. extern BOOL             RasterEnabled;
  490.  
  491.     /* Generic lists. */
  492.  
  493. extern struct GenericList    *GenericListTable[GLIST_COUNT];
  494.  
  495.     /* File version test. */
  496.  
  497. extern ULONG VersionProps[2];
  498.  
  499.     /* Window stack. */
  500.  
  501. extern struct Window        *TopWindow;
  502.  
  503. extern struct Window        *WindowStack[5];
  504. extern WORD             WindowStackPtr;
  505.  
  506.     /* Global term ID. */
  507.  
  508. extern LONG             TermID;
  509. extern UBYTE             TermIDString[MAXPUBSCREENNAME + 1];
  510. extern UBYTE             RexxPortName[256];
  511.  
  512.     /* Fast! macros. */
  513.  
  514. extern struct List         FastMacroList;
  515. extern LONG             FastMacroCount;
  516. extern UBYTE             LastFastMacros[MAX_FILENAME_LENGTH];
  517. extern struct Window        *FastWindow;
  518. extern WORD             FastWindowLeft,
  519.                  FastWindowTop,
  520.                  FastWindowHeight;
  521.  
  522.     /* Double-buffered file locking. */
  523.  
  524. extern struct List         DoubleBufferList;
  525. extern struct SignalSemaphore     DoubleBufferSemaphore;
  526.  
  527.     /* XEM interface. */
  528.  
  529. extern struct XEM_IO        *XEM_IO;
  530. extern ULONG             XEM_Signal;
  531. extern struct XEmulatorHostData XEM_HostData;
  532. extern UBYTE            *OptionTitle;
  533. extern struct List         XEM_MacroList;
  534. extern struct XEmulatorMacroKey *XEM_MacroKeys;
  535. extern UBYTE             EmulationName[MAX_FILENAME_LENGTH];
  536.  
  537.     /* Screen scrolling support. */
  538.  
  539. extern UWORD             ScrollLineFirst,ScrollLineLast,
  540.                  ScrollLineCount;
  541. extern struct ScrollLineInfo    *ScrollLines;
  542.  
  543.     /* term review buffer. */
  544.  
  545. extern struct Window        *ReviewWindow;
  546.  
  547.     /* Background information. */
  548.  
  549. extern ULONG             BytesIn,
  550.                  BytesOut;
  551. extern struct DateStamp         SessionStart;
  552. extern struct Window        *InfoWindow;
  553.  
  554.     /* Gadget support routines */
  555.  
  556. extern LONG             InterWidth,
  557.                  InterHeight;
  558.  
  559.     /* Character translation. */
  560.  
  561. extern struct TranslationEntry    **SendTable,
  562.                 **ReceiveTable;
  563.  
  564.     /* Window alignment information. */
  565.  
  566. extern struct WindowInfo WindowInfoTable[];
  567. extern struct SignalSemaphore WindowInfoSemaphore;
  568.  
  569.     /* New user interface. */
  570.  
  571. extern struct Hook LocaleHook;
  572.  
  573.     /* AmigaGuide hook. */
  574.  
  575. extern struct Hook GuideHook;
  576.  
  577.     /* Special queue management. */
  578.  
  579. extern struct MsgQueue    *SpecialQueue;
  580.  
  581.     /* Window and Screen backfill hook. */
  582.  
  583. extern struct Hook BackfillHook;
  584.  
  585. extern ULONG BackfillTag;
  586.  
  587.     /* Intercept data going through SerWrite. */
  588.  
  589. extern BYPASS        SerWriteBypass;
  590.  
  591.     /* The incredibly shrinking file name. */
  592.  
  593. extern UBYTE        ShrunkenName[MAX_FILENAME_LENGTH],
  594.             OriginalName[MAX_FILENAME_LENGTH];
  595.  
  596.     /* Terminal emulation task. */
  597.  
  598. extern struct MsgQueue *TerminalQueue;
  599.  
  600.     /* AppIcon data. */
  601.  
  602. extern struct DiskObject DropIcon;
  603.  
  604.     /* Remember some of the incoming data. */
  605.  
  606. extern BOOL    RememberOutput,
  607.         RememberInput,
  608.  
  609.         Recording,
  610.         RecordingLine;
  611.  
  612.     /* Trap settings. */
  613.  
  614. extern BOOL        WatchTraps;
  615. extern BOOL        TrapsChanged;
  616. extern UBYTE        LastTraps[MAX_FILENAME_LENGTH];
  617. extern ParseContext    *TrapStuff;
  618.  
  619.     /* CR/LF receiver translation data. */
  620.  
  621. extern TRANSLATEFUNC    Translate_CR_LF;
  622.  
  623.     /* End of line conversion labels. */
  624.  
  625. extern STRPTR EOL_Labels[];
  626.  
  627.  
  628. /**********************************************************************/
  629.  
  630.  
  631.     /* This follows the control code information. */
  632.  
  633. extern struct ControlCode     ANSICode[];
  634. extern WORD             NumCodes;
  635.  
  636.  
  637. /**********************************************************************/
  638.  
  639.  
  640. extern UWORD            PenTable[16];
  641. extern STRPTR            ParityMappings[];
  642. extern STRPTR            BooleanMappings[];
  643. extern STRPTR            DuplexMappings[];
  644. extern STRPTR            HandshakingMappings[];
  645. extern UBYTE            TextAttributeTable[16];
  646. extern WORD            ForegroundPen,
  647.                 BackgroundPen;
  648.  
  649.  
  650. /**********************************************************************/
  651.  
  652.  
  653. extern BOOL            ChatMode;
  654. extern BOOL            UseInternalZModem;
  655. extern ULONG            SliderType;
  656. extern ULONG            CycleType;
  657.  
  658.  
  659. /**********************************************************************/
  660.  
  661.  
  662. extern struct ColourTable    *NormalColourTable,
  663.                 *BlinkColourTable,
  664.                 *ANSIColourTable,
  665.                 *EGAColourTable,
  666.                 *DefaultColourTable,
  667.                 *MonoColourTable;
  668.  
  669.  
  670. /**********************************************************************/
  671.  
  672.  
  673. extern UBYTE Language[80];
  674.  
  675.  
  676. /**********************************************************************/
  677.  
  678.  
  679. extern STRPTR CharCodes[256];
  680.  
  681.  
  682. /**********************************************************************/
  683.  
  684.  
  685. extern struct Window *MatrixWindow;
  686.  
  687.  
  688. /**********************************************************************/
  689.  
  690.  
  691. extern SAVERASTER SaveRaster;
  692.  
  693.  
  694. /**********************************************************************/
  695.  
  696.  
  697. extern struct SignalSemaphore     BufferTaskSemaphore;
  698. extern struct TextBufferInfo    *BufferInfoData;
  699.  
  700. extern struct SignalSemaphore     ReviewTaskSemaphore;
  701. extern struct TextBufferInfo    *ReviewInfoData;
  702.  
  703.  
  704. /**********************************************************************/
  705.  
  706.  
  707. extern struct AttributeEntry     AttributeTable[];
  708. extern WORD             AttributeTableSize;
  709.  
  710.     /* This is where the information on what arguments exclude
  711.      * other arguments is linked to the actual commands.
  712.      */
  713.  
  714. extern struct ExclusionInfo *ExclusionTable[];
  715.  
  716.     /* This is where the information on which arguments (switches and keywords)
  717.      * are actually required is stored.
  718.      */
  719.  
  720. extern UWORD InclusionTable[];
  721.  
  722.     /* This is where command names, arguments and the routines
  723.      * to execute the actual commands are linked together.
  724.      */
  725.  
  726. extern struct CommandInfo     CommandTable[];
  727. extern WORD             CommandTableSize;
  728.  
  729. extern struct MsgPort        *RexxPort;
  730. extern LONG             LastRexxError;
  731. extern LONG             RexxTimeoutVal;
  732. extern BOOL             UpdateRequired,TransferUpdateRequired;
  733.  
  734.  
  735. /**********************************************************************/
  736.  
  737.  
  738.     /* The signal semaphores and lists to initialize at program startup time. */
  739.  
  740. extern struct SignalSemaphore    *StartupSemaphoreTable[];
  741. extern struct List        *StartupListTable[];
  742.  
  743.  
  744. /**********************************************************************/
  745.  
  746.  
  747.     /* Job queues and jobs. */
  748.  
  749. extern JobQueue    *MainJobQueue;
  750. extern JobNode    *XEMJob,
  751.         *SerialCheckJob,
  752.         *WorkbenchWindowJob,
  753.         *SerialJob,
  754.         *OwnDevUnitJob,
  755.         *WindowJob,
  756.         *SingleWindowJob,
  757.         *WindowAndXEMJob,
  758.         *RexxJob,
  759.         *QueueJob,
  760.         *ReleaseSerialJob,
  761.         *StartupFileJob,
  762.         *IconifyJob,
  763.         *RebuildMenuJob,
  764.         *ResetDisplayJob,
  765.         *OnlineCleanupJob,
  766.         *SerialCacheJob,
  767.         *DisplayCostJob,
  768.         *TerminalTestJob;
  769.  
  770.     /* Jobs to create at program startup time. */
  771.  
  772. extern struct JobInitStruct JobInitTable[];
  773.  
  774. /**********************************************************************/
  775.  
  776.     /* Simplified serial read routines that know about cached data. */
  777.  
  778. extern ULONG    (*SerialWaitForData)(ULONG OtherBits);
  779. extern ULONG    (*SerialGetWaiting)(VOID);
  780. extern LONG    (*SerialRead)(UBYTE *Buffer,LONG Size);
  781.  
  782. /**********************************************************************/
  783.  
  784. #endif
  785.